19. Lesson Conclusion
Lesson Conclusion
ND079 JPND C2 L05 A20 Lesson Conclusion
This lesson introduced you to concurrent programming in Java — and boy was it an introduction! We covered a ton of concepts in this lesson, and they were not easy to grasp.
We talked about the ideas of concurrency and parallelism. We talked about the theoretical and practical limitations to concurrency, which can help you decide whether concurrency will be a good option to improve your programs.
You also learned about thread pools and why they are a good idea, and you got some practice using them. We also did a little bit of a deeper dive on
ForkJoinPool
s, which are specialized for tasks that create other asynchronous tasks.Finally, you learned why and how to synchronize multi-threaded programs. You learned may different tools in Java that can help you do this, including synchronized collections, the
synchronized
keyword, specialized lock objects, and semaphores.
Concurrency and parallelism are really difficult topics even for seasoned programmers, so you should be proud of yourself for making it through this lesson. Your knowlege about concurrency and synchronization will serve you well in all programming languages, not just Java!